home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_13_05
/
allison
/
date4.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-12
|
1KB
|
54 lines
LISTING 11 - Implementation for Listing 10
// date4.cpp
#include <stdio.h>
#include "date3.h"
struct DateRep
{
DateRep(int, int, int);
private:
friend struct Date;
int month;
int day;
int year;
};
const char * Date::month_text[13] =
{"Bad month", "January", "February", "March", "April",
"May", "June", "July", "August", "September",
"October", "November", "December"};
DateRep::DateRep(int m, int d, int y) : month(m), day(d), year(y)
{}
Date::Date(int m, int d, int y)
{
drep = new DateRep(m,d,y);
}
Date::~Date()
{
delete drep;
}
char * Date::format(char *buf) const
{
sprintf(buf,"%s %d, %d",
month_text[drep->month],
drep->day,drep->year);
return buf;
}
int Date::compare(const Date & dp2) const
{
int result = drep->year - dp2.drep->year;
if (result == 0)
result = drep->month - dp2.drep->month;
if (result == 0)
result = drep->day - dp2.drep->day;
return result;
}